指標變數的值是記憶體位址,一般的變數直接儲存某特定數值,指標儲存的是記憶體位址,而該記憶體位址上才儲存某特定的值,這點相當重要,因此變數名稱直接參照某數值directly references a value,而指標則間接參照某數值indirectly references a vaule,透過指標參照某數值稱為間接參照
#include <iostream>
using namespace std;
int main()
{
int a;
int *aPtr;
a=7;
aPtr=&a;
cout<<"The address of a is "<<&a
<<"\nThe vaule of aPtr is "<<aPtr;
cout<<"\n\nThe vaule of a is "<<a
<<"\nThe vaule of *aPtr is "<<*aPtr;
cout<<"\n\nShowing that * and & are inverses of"
<<"each other.\n&*aPtr= "<<&*aPtr
<<"\n*aPtr= "<<*&aPtr<<endl;
}
在輸出中,變數a的位址和指標aPtr相同,確認變數a的位址確實指定給指標變數aPtr,運算子*和&的作用恰恰相反,當他們同時作用在aPtr上時,無論順序如何,他們的效果會彼此抵銷,印出相同結果即aPtr的值
廢話不多說上程式碼
印出1到10的偶數
#include <stdio.h>
int main()
{
int count;
for(count=1;count<=5;count++){
int number=2*count;
printf("%d\n", number);
}
return 0;
}
上面的程式碼中先宣告變數count,從一開始跑,讓他跑五次,count++,在宣告一個數number,如果符合上面的for條件number做count*2就是1到10的偶數了